import request from '@/utils/request'

// 登录函数
/**
 * @description: 登录函数
 * @param {*} data { mobile,password}
 * @return {*} promise
 */

// 1、入参  2、逻辑 3、return值
// return 是 request函数的调用接口 也就是说他return的是request函数值的返回值[promise对象]
// return promise
// 所以调用login()函数时 得到promise  可以通过.then()方法去拿到它的结果
// baseURL + url  http://ihrm-java.itheima.net/api/syx/login 这是我们正式发送请求的路径
export function login(data) {
  return request({
    url: '/sys/login',
    method: 'POST',
    // 原本写法
    // data:data // key data axios封装好的专门用来接收参数的位置
    data
  })
}
// 如果你想进行登录  那就可以 调用login函数  调用的方式如下
// login( { mobile, password}).then(res => console.log(res))

// 一、封装的好处 【如何读懂一个函数】
// 1、 语义化  代码及注释 看到函数就知道作用
// 2、 复用性 多个业务中进行复用的时候 哪里用就哪里导入
// 3 、函数统一化  项目写起来更有效率
// 二、 request 和 api 关系

// 一对多的关系
// 一、request   多、api下面的所有的接口请求
// 例如 我们在拦截器中统一注入了token
// 只要你是使用我导出的request进行的接口封装 就会自动拥有token数据 不需要单独再写

/**
 * @description: 获取用户资料
 * @param {*} token
 * @return {*}
 */
export function getUserInfo() {
  return request({
    url: '/sys/profile',
    method: 'post'
  })
}

/**
 * @description: 获取用户头像
 * @param {*} id 用户id 上一个接口的userId
 * @return {*}
 */
export function getUserDetailById(id) {
  return request({
    url: `/sys/user/${id}`
  })
}

/**
 * @description: 保存员工信息
 * @param {*} data
 * @return {*}
 */
export function updateDetailById(data) {
  return request({
    url: `/sys/user/${data.id}`,
    method: 'put',
    data
  })
}
